load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

local_repository(
    name = "com_github_p4lang_p4runtime",
    path = "../../proto",
)

# In your own project, you will likely want to use `http_archive` or
# `git_repository` instead of `local_repository` to load p4runtime.

# http_archive(
#     name = "com_github_p4lang_p4runtime",
#     urls = ["https://github.com/p4lang/p4runtime/archive/v1.3.0.tar.gz"],
#     strip_prefix = "p4runtime-1.3.0/proto",
#     # sha256 = "<insert hash value here>",
# )

# git_repository(
#   name = "com_github_p4lang_p4runtime",
#   remote = "https://github.com/p4lang/p4runtime.git",
#   # strip_prefix = "proto",  # https://github.com/bazelbuild/bazel/issues/10062
#   patch_cmds = ["mv proto/* ."],  # Workaround since strip_prefix is broken.
#   tag = "v1.3.0",
# )

load("@com_github_p4lang_p4runtime//:p4runtime_deps.bzl", "p4runtime_deps")
p4runtime_deps()

# -- Transitive dependencies of P4Runtime dependencies -------------------------

load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
protobuf_deps()

load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains")
rules_proto_dependencies()
rules_proto_toolchains()

load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
go_rules_dependencies()
go_register_toolchains(version = "1.16")

load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language")
switched_rules_by_language(
    name = "com_google_googleapis_imports",
    grpc = True,
    cc = True,
    python = True,
)

load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
grpc_deps()
load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps")
grpc_extra_deps()
load("@com_github_grpc_grpc//bazel:grpc_python_deps.bzl", "grpc_python_deps")
grpc_python_deps()

load("@rules_python//python:pip.bzl", "pip_import", "pip_repositories")
pip_repositories()
pip_import(
    name = "grpc_python_dependencies",
    requirements = "@com_github_grpc_grpc//:requirements.bazel.txt",
)

load("@grpc_python_dependencies//:requirements.bzl", "pip_install")
pip_install()
